Name matching algorithms may be used in various computer-based applications. For example, a user may input a personal name or business name into a search, and a computer application may attempt to match the name input with a stored name in a database. Name matching algorithms may also be used in financial and fraud detection contexts, where legal and regulatory burdens increase the need for highly accurate matches.
Typical name matching algorithms may be susceptible to variations in spelling, transcription errors, and common abbreviations. For example, typical name matching algorithms may be susceptible to extra white spaces, incorrect letter casing (e.g., “FiRsT last”), special characters (e.g., “Jean-Claude” or “O'Neil”), phonetic spelling (e.g., “Steven” compared with “Stephen”), misplaced letters and parts (e.g., “First MI Last” compared to “MI First Last” or “FirstMl Last”), middle name variances (e.g., “First Middle Last” compared to “First M. Last” or “First Last”), abbreviations (e.g., “First Middle Last” compared to “FML”, “Jefferson Heavy Duty Shop” compared to “Jefferson Hvy Dty Shop”, and/or “Robert” compared to “Rob” or “Bob”), prefixes and suffixes (e.g., “Mr.”, “Honorable”, “Ph.D”, “Junior”), business keywords (e.g., “LLC”, Corporation”, “Corp.”), and/or various other typographical issues. Susceptibilities in typical name-matching algorithms may cause false positives and false negatives in search results.